const { Sequelize } = require('sequelize')
const config = require('../config/app.config')

const conf = {
  host: config.mysql.host,
  port: config.mysql.port,
  dialect: config.mysql.dialect,
  define: {
    timestamps: false, // 不自动创建createAt和updataAt时间字段
    freezeTableName: true  // 强制表名称等于模型名称
  },
  logging: sql => { // 不让sql语句在命令行终端输出
    // console.log(sql)
  }
}

const seq = new Sequelize(config.mysql.database, config.mysql.user, config.mysql.password, conf)

//测试数据库链接
// seq
//   .authenticate().then(() => {
//     console.log("数据库连接成功");
//   })
//   .catch((err) => {
//     //数据库连接失败时打印输出
//     console.error(err);
//     throw err;
//   });

// seq.sync() 自动同步所有模型
seq.sync({
  force: false, // 禁止强制删除表
  alter: true // 为表更新字段，这将检查数据库中表的当前状态（它具有哪些列，它们的数据类型等），然后在表中进行必要的更改以使其与模型匹配
}).then(() => {
  // console.log('表创建成功')
}).catch(error => {
  console.log(error)
})
module.exports = seq